3.2 Series、DataFrame与单值的运算
Python 支持几十种运算符,被划分成将近二十个优先级,有的运算符优先级不同,有的运算符优先级相同,请看下表。表 1 Python 运算符优先级和结合性一览表
运算符说明 | Python运算符 | 优先级 | 结合性 | 优先级顺序 |
---|---|---|---|---|
小括号 | () | 19 | 无 |
高
↓ ↓ ↓ ↓ ↓ 低 高 ↓ ↓ ↓ ↓ ↓ ↓ 低 |
索引运算符 | x[i]或x[i1:i2[:i3]] | 18 | 左 | |
属性访问 | x.attribute | 17 | 左 | |
乘方 | ** | 16 | 右 | |
按位取反 | ~ | 15 | 右 | |
符号运算符 | +(正号)、-(负号) | 14 | 右 | |
乘除 | *、/、//、% | 13 | 左 | |
加减 | +、- | 12 | 左 | |
位移 | >>、<< | 11 | 左 | |
按位与 | & | 10 | 右 | |
按位异或 | ^ | 9 | 左 | |
按位或 | | | 8 | 左 | |
比较运算符 | ==、!=、>、>=、<、<= | 7 | 左 | |
is运算符 | is、is not | 6 | 左 | |
in运算符 | in、not in | 5 | 左 | |
逻辑非 | not | 4 | 右 | |
逻辑与 | and | 3 | 左 | |
逻辑或 | or | 2 | 左 | |
逗号运算符 | exp1,exp2 | 1 | 左 |
import pandas as pd,numpy as np
path = r "D:\Pyobject2023\object\测试\测试素材.考试成绩2.xlsx"
df = pd.read_excel(path)
t=df[df[ "英语" ]+df[ "语文" ]<=150] #有缺失值无法参考运算,+优先级比大于号大
print (df)
print (t)
返回
姓名 | 数学 | 语文 | 英语 | |
---|---|---|---|---|
0 | 小明 | 85.5 | 67 | 84.0 |
1 | 小张 | 89.0 | 100 | 34.0 |
2 | 小王 | 95.0 | 55 | NaN |
3 | 小李 | 88.5 | 95 | 99.0 |
4 | 小四 | 99.0 | 43 | 73.0 |
5 | 小管 | 100.0 | 66 | 65.0 |
姓名 | 数学 | 语文 | 英语 | |
1 | 小张 | 89.0 | 100 | 34.0 |
4 | 小四 | 99.0 | 43 | 73.0 |
5 | 小管 | 100.0 | 66 | 65.0 |
import pandas as pd,numpy as np
path = r "D:\Pyobject2023\object\测试\测试素材.考试成绩2.xlsx"
df = pd.read_excel(path)
df[np.isnan(df.loc[:, "数学":"英语" ])]=0 #有缺失值无法参考运算,将所以缺失值替换为0
t=df[df[ "英语" ]+df[ "语文" ]<=150]
print (df)
print (t)
姓名 | 数学 | 语文 | 英语 | |
---|---|---|---|---|
0 | 小明 | 85.5 | 67 | 84.0 |
1 | 小张 | 89.0 | 100 | 34.0 |
2 | 小王 | 95.0 | 55 | 0.0 |
3 | 小李 | 88.5 | 95 | 99.0 |
4 | 小四 | 99.0 | 43 | 73.0 |
5 | 小管 | 100.0 | 66 | 65.0 |
姓名 | 数学 | 语文 | 英语 | |
---|---|---|---|---|
1 | 小张 | 89.0 | 100 | 34.0 |
2 | 小王 | 95.0 | 55 | 0.0 |
4 | 小四 | 99.0 | 43 | 73.0 |
5 | 小管 | 100.0 | 66 | 65.0 |